package Capa_Presentacion;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.faces.context.FacesContext;

import Capa_Datos.CD_Laboratorio;
import Capa_Datos.CD_Software;
import Capa_Datos.CD_Unidad;
import Capa_Negocio.CN_ImplRegistroLabUnidad;
import Capa_Negocio.CN_RegistroLabUnidad;
public class CP_RegistroLabUnidad {
	List<CD_Unidad> listaUnidad;
	List<CD_Laboratorio> listaLaboratorios;
	List<CD_Laboratorio> listaAsignados;
	int valor, valor2;
	CN_ImplRegistroLabUnidad cn_labUnidad;
	CD_Laboratorio selectedLaboratorio;
	
	public CP_RegistroLabUnidad(){
		cn_labUnidad = new CN_ImplRegistroLabUnidad();
		listaUnidad = new ArrayList<CD_Unidad>();
		listaLaboratorios = new ArrayList<CD_Laboratorio>();
		listaAsignados = new ArrayList<CD_Laboratorio>();
		listaUnidad = cargarUnidades();
		listaLaboratorios =  cargarLaboratorios();
		
		
	}
	
		
	public CN_ImplRegistroLabUnidad getCn_labUnidad() {
		return cn_labUnidad;
	}


	public void setCn_labUnidad(CN_ImplRegistroLabUnidad cn_labUnidad) {
		this.cn_labUnidad = cn_labUnidad;
	}


	public CD_Laboratorio getSelectedLaboratorio() {
		return selectedLaboratorio;
	}


	public void setSelectedLaboratorio(CD_Laboratorio selectedLaboratorio) {
		this.selectedLaboratorio = selectedLaboratorio;
	}


	public List<CD_Unidad> getListaUnidad() {
		return listaUnidad;
	}
	public void setListaUnidad(List<CD_Unidad> listaUnidad) {
		this.listaUnidad = listaUnidad;
	}
	public List<CD_Laboratorio> getListaLaboratorios() {
		return listaLaboratorios;
	}
	public void setListaLaboratorios(List<CD_Laboratorio> listaLaboratorios) {
		this.listaLaboratorios = listaLaboratorios;
	}
	public List<CD_Laboratorio> getListaAsignados() {
		return listaAsignados;
	}
	public void setListaAsignados(List<CD_Laboratorio> listaAsignados) {
		this.listaAsignados = listaAsignados;
	}
	public int getValor() {
		return valor;
	}
	public void setValor(int valor) {
		this.valor = valor;
	}
	public int getValor2() {
		return valor2;
	}
	public void setValor2(int valor2) {
		this.valor2 = valor2;
	}
	public void asignarLaboratorio(){
		cn_labUnidad.asignarLaboratorio(valor, valor2);
		listaLaboratorios =  cargarLaboratorios();
	}
	public void consultarAsignados(){
		setListaAsignados(cn_labUnidad.consultarAsignados(valor));
	}
	public List<CD_Laboratorio> cargarLaboratorios(){
		return cn_labUnidad.obtenerLaboratorios();
	}
	public List<CD_Unidad> cargarUnidades(){
		return cn_labUnidad.obtenerUnidades();
	}
	public void eliminarLaboratorio(){
		
		cn_labUnidad.eliminarLaboratorio(valor, selectedLaboratorio.getIdLaboratorio());
		listaLaboratorios =  cargarLaboratorios();
	}
	public void asignarUnidadVista(){
		 FacesContext contex = FacesContext.getCurrentInstance(); 		 
	 		try {
	 			
				contex.getExternalContext().redirect( "/ProyLabo/faces/view/Consulta_historial.xhtml" );
			} catch (IOException e) {
				
				e.printStackTrace();
			}
		
		
	}
	
	
}
